1. Field of the Invention
The invention relates to a system for presenting a program to a user. More particularly, the invention relates to a method, system and apparatus for efficiently transmitting and receiving a program for presentation to a user.
2. Description of the Related Art
A conventional system for displaying a program, e.g., a video program, includes a monitor or a television (TV) set connected to a set top box. The set top box is connected through a coaxial cable to a cable TV network or a satellite dish for “satellite TV.” The TV set and the set top box are located, for example, in a user's home and receive a multitude of TV channels from a broadcast head end, wherein each TV channel has a multitude of programs during a typical day. In order to select and watch a certain program, the user controls, for example, the set top box to tune to a desired channel. The TV set receives a video signal from the set top box and displays the program of the desired channel.
A user may expand the system by connecting a video recorder to the TV set and the set top box to personalize television viewing by recording a program and watching it when it is convenient for the user. Further, the user may subscribe to and receive premium content such as subscription channels, pay-per-view services or video-on-demand services in order to watch a movie on a certain day and at a time of day for which the user has to pay a per-movie fee. The user may further personalize television viewing by subscribing to services such as ReplayTV (offered by Replay Network) and TiVo (offered by Philips). For instance, the video recorder may be a digital video recorder that includes a hard disk drive with a storage capacity of between 10 GB and 30 GB for recording of up to 30 hours of television programming.
In order to accommodate personalized television, the systems transmit, process and store large quantities of program data. For instance, in a conventional system, an encoder is used to compress and to encode the program data, and a decoder is used to decompress and to decode the program data. The encoder outputs a stream of program data that has a reduced bit rate and a reduced redundancy. The encoder and decoder usually operate in accordance with international standards, e.g., a compression process defined by the Moving Picture Expert Group (MPEG), e.g., MPEG-2, or by the International Telecommunications Union (ITU), e.g., the H.263 standard, that define uniform requirements for coding and decoding of program data.
For instance, the MPEG-2 compression of a program by an MPEG-2 encoder at the broadcast head end results in a single compressed program, which is referred to as “single-program elementary stream.” The MPEG-2 encoder packetizes the single-program elementary stream to generate a packetized elementary stream (PES). An MPEG-2 program multiplexer multiplexes a group of packetized elementary stream into a “transport stream.” The transport stream includes multiple series of fixed-size data packets. Each data packet comprises a payload and a header that includes packet identification (“PID”) values.
The broadcast head end transmits the transport stream at a constant data rate regardless of the number of single-program streams contained within it. That is, if the transport stream contains six single-program streams or only one single-program stream, the broadcast head end transmits the transport stream at the same rate. For example, if the transport stream contains six programs, each of which is an hour in length, the broadcast head end transmits all six programs over a one-hour period of time. Likewise, if the transport stream contains only one (one-hour) program, the broadcast head end still transmits the transport stream over the one-hour period of time. Therefore, the efficiency of the transport stream drops as the number of program streams contained in the transport stream decreases. Thus, there is a need for an improved technique for transmitting a program with improved efficiency.